From 7ec7a07f6ef1e4cbc27f51a5b54edf4442125b29 Mon Sep 17 00:00:00 2001
From: Petr Mladek <pmladek@walk.suse.cz>
Date: Fri, 18 Jun 2010 17:44:23 +0000
Subject: Fix calc-perf-speedup-pagebreak-update.diff to apply with patch-2.5.4

* patches/dev300/calc-perf-speedup-pagebreak-update.diff: add context to help
  patch-2.5.4 to apply the hunks correctly; thanks Sandor Geller <wildy at
  muhelybt dot hu
---
diff --git a/patches/dev300/calc-perf-speedup-pagebreak-update.diff b/patches/dev300/calc-perf-speedup-pagebreak-update.diff
index ba4b938..0856eae 100644
--- a/patches/dev300/calc-perf-speedup-pagebreak-update.diff
+++ b/patches/dev300/calc-perf-speedup-pagebreak-update.diff
@@ -574,7 +574,19 @@ index 789de6d..56c7f49 100644
              }
          }
  
-@@ -2519,7 +2558,7 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
+@@ -2516,31 +2516,31 @@ void ScTable::DBShowRows(SCROW nRow1, SC
+ {
+     SCROW nStartRow = nRow1;
+     while (nStartRow <= nRow2)
+     {
+         SCROW nEndRow = -1;
+         bool bWasVis = !RowHidden(nStartRow, nEndRow);
+         if (nEndRow > nRow2)
+             nEndRow = nRow2;
+
+         BOOL bChanged = ( bWasVis != bShow );
+         if ( bChanged )
+         {
              ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
              if (pDrawLayer)
              {
@@ -583,7 +595,31 @@ index 789de6d..56c7f49 100644
                  if (bShow)
                      pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
                  else
-@@ -2569,7 +2608,7 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
+                     pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
+             }
+         }
+
+         SetRowHidden(nStartRow, nEndRow, !bShow);
+         SetRowFiltered(nStartRow, nEndRow, !bShow);
+
+         if ( bChanged )
+         {
+             ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection();
+             if ( pCharts )
+                 pCharts->SetRangeDirty(ScRange( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab ));
+@@ -2563,31 +2563,31 @@ void ScTable::ShowRows(SCROW nRow1, SCRO
+     IncRecalcLevel();
+     InitializeNoteCaptions();
+     while (nStartRow <= nRow2)
+     {
+         SCROW nEndRow = -1;
+         bool bWasVis = !RowHidden(nStartRow, nEndRow);
+         if (nEndRow > nRow2)
+             nEndRow = nRow2;
+
+         BOOL bChanged = ( bWasVis != bShow );
+         if ( bChanged )
+         {
              ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
              if (pDrawLayer)
              {
@@ -592,6 +628,18 @@ index 789de6d..56c7f49 100644
                  if (bShow)
                      pDrawLayer->HeightChanged( nTab, nStartRow, nHeight );
                  else
+                     pDrawLayer->HeightChanged( nTab, nStartRow, -nHeight );
+             }
+         }
+
+         SetRowHidden(nStartRow, nEndRow, !bShow);
+         if (bShow)
+             SetRowFiltered(nStartRow, nEndRow, false);
+
+         if ( bChanged )
+         {
+             ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection();
+             if ( pCharts )
 @@ -2681,7 +2720,10 @@ SCROW ScTable::GetLastChangedRow() const
      if (!ValidRow(nLastFlags))
          nLastFlags = 0;
--
cgit v0.8.3-6-g21f6
